package com.zshy.base.kit.enums.language;

import com.zshy.base.core.contract.enums.IEnum;
import com.zshy.base.kit.enums.EnumKit;
import com.zshy.base.kit.enums.EnumValueResolver;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 真实语言类型描述表
 * <p> 用于描述语言类型的枚举常量
 * 如果需要根据code获取desc，请使用
 *
 * @author zhouhengzhe
 * @see EnumKit#getByCode(Class, Object)
 */
@Getter
@AllArgsConstructor
public enum RealLanguageTypeEnum implements IEnum<String>, EnumValueResolver<RealLanguageTypeEnum, String> {

    ZH_CN("zh-cn", "中国（简体中文）"),
    ZH_TW("zh-tw", "中国（繁体中文）"),
    AF("af", "南非语"),
    AM("am", "阿姆哈拉语（埃塞俄比亚)"),
    AR("ar", "阿拉伯语"),
    HY("hy", "亚美尼亚语（亚美尼亚)"),
    AZ("az", "阿塞拜疆语"),
    EU("eu", "巴斯克语"),
    BE("be", "白俄罗斯语"),
    BN("bn", "孟加拉语"),
    BG("bg", "保加利亚语"),
    MY("my", "缅甸语（官方)"),
    CA("CA", "加泰隆语"),
    HR("hr", "克罗地亚语"),
    CS("cs", "捷克语"),
    DA("da", "丹麦语"),
    NL("nl", "荷兰语"),
    EN("en", "英语"),
    ET("et", "爱沙尼亚语"),
    TL("tl", "菲律宾语"),
    FI("fi", "芬兰语"),
    FR("fr", "法语"),
    GL("gl", "加利西亚语"),
    KA("ka", "格鲁吉亚语"),
    DE("de", "德语"),
    EL("el", "希腊语"),
    HE("he", "希伯来语"),
    HI("hi", "印地语"),
    HU("hu", "匈牙利语"),
    IS("is", "冰岛语"),
    GU("gu", "古吉拉特语"),
    ID("id", "印尼"),
    TH("th", "泰语"),
    IT("it", "意大利语"),
    JA("ja", "日语"),
    KN("kn", "卡纳达语"),
    KK("kk", "哈萨克语"),
    KM("km", "柬埔寨语(高棉语)"),
    KY("ky", "吉尔吉斯语"),
    LO("lo", "老挝语（老挝)"),
    LV("lv", "拉脱维亚语"),
    LT("lt", "立陶宛语"),
    MK("mk", "马其顿语"),
    ML("ml", "马拉亚拉姆语"),
    MS("ms", "马来语"),
    MR("mr", "马拉地语"),
    MN("mn", "蒙古语"),
    NE("ne", "尼泊尔语"),
    NB("nb", "挪威语"),
    FA("fa", "波斯语"),
    PL("pl", "波兰语"),
    PT("pt", "葡萄牙语"),
    RO("ro", "罗马尼亚语"),
    RM("rm", "罗曼什语（瑞士)"),
    RU("ru", "俄语"),
    SR("sr", "塞尔维亚语"),
    SI("si", "僧伽罗语"),
    SK("sk", "斯洛伐克语"),
    SL("sl", "斯洛文尼亚语"),
    ES("es", "西班牙语"),
    SW("sw", "斯瓦希里语"),
    SV("sv", "瑞典语"),
    TA("ta", "泰米尔语"),
    TE("te", "泰卢固语"),
    TR("tr", "土耳其语"),
    UK("uk", "乌克兰语"),
    UR("ur", "乌尔都语"),
    UZ("uz", "乌兹别克语"),
    VI("vi", "越南语"),
    ZU("zu", "祖鲁语（南非)"),
    KO("ko", "韩语（朝鲜语）"),
    ;

    /**
     * 语言标识
     */
    private final String code;

    /**
     * 描述
     */
    private final String desc;
}
